import { createApp } from 'vue';
import App from './App.vue';
import router from './route';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import 'element-plus/theme-chalk/dark/css-vars.css'; //暗黑模式需要的样式
// 忽略ts的类型检测
// @ts-ignore
import zhCn from 'element-plus/dist/locale/zh-cn.mjs';
import * as ElementPlusIconsVue from '@element-plus/icons-vue';
//svg插件需要配置代码
import 'virtual:svg-icons-register';
// 引入模板的全局样式
import '@/styles/index.scss';
// 引入pinia仓库
import pinia from './store';

const app = createApp(App);

// 引入全局组件方法1：手动引入
// import svgIcon from '@/components/svgIcon/index.vue'; // svg图标组件
// app.component('svgIcon', svgIcon); // 全局组件挂载

// 引入全局组件方法2：使用插件注册整个项目的全局组件
import gloalComponents from '@/components/index.ts';
// 安装自定义插件
app.use(gloalComponents);

for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component);
}
app.use(ElementPlus, {
  locale: zhCn, // element-pus，中文国际化
});
app.use(router);
app.use(pinia);

// import axios from 'axios';
// axios({
//   url: '/api/user/login',
//   method: 'post',
//   data: {
//     username: 'admin',
//     password: '111111',
//   },
// }).then((res) => {
//   console.log('res', res);
// });

// 引入路由鉴权文件
import './permisstion';

app.mount('#app');
